package com.clkj.zhonghui.service.product;

import com.clkj.zhonghui.pojo.product.*;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * @Author：周佳润
 * @Date：2024/7/11 上午9:44
 */
public interface ProductService {

    void addProduct(Product product,HttpServletRequest request);

    PageInfo listProduct(Integer page, Integer size, Integer shopId, String productName, Integer productStatus);

    void addOrEditFormat(ProductFormat productFormat,String flag, HttpServletRequest request);

    void addBanner(Integer productId, HttpServletRequest request);

    void delOrUpdate(String ids, Integer picFlag, Integer picStatus);

    void addDeailPic(Integer productId, HttpServletRequest request);

    void updateProStatus(String ids, Integer productStatus);

    Map listProductDetail(Integer productId);

    void updatepro(Product product, HttpServletRequest request);

    void addSpecials(ProductSpecials productSpecials, String flag, HttpServletRequest request);

    List<ProductSpecials> getSpecials(Integer flag);

    void updateSpecial(String ids, String status);

    void deleteSpecial(String ids);

    PageInfo getProductCommentList(Integer page, Integer size, Integer productId);

    void updateComment(String ids);

    void importComment(HttpServletRequest request);

    PageInfo getAnswer(Integer page, Integer size, Integer productId , Integer parentId);

    void deleteProductComm(String ids);

    void zhidingComment(String ids, Integer topping);

    void updateAnswer(String ids, Integer status);

    void importAnswer(HttpServletRequest request);

    void deleteProductAnswer(String ids);

    List<ProductSpecials> listSpecials();

    Map listProDetail(Integer productId,Integer userId);

    PageInfo getProducts(Integer page,Integer size,String productName);

    void addAnswer(ProductAnswer productAnswer);

    List<ProductAnswer> getAnswers(Integer productId);

    ProductAnswer getAnswerAndReply(Integer answerId);

    List<ProductComment> getAppComment(Integer productId);

    void addCollectProduct(Integer userId, Integer productId,Integer flag);

    List<CollectProduct> listCollectProduct(Integer userId);

    void delCollectProduct(String ids);

    List<Product> getProductByCategory(Integer categoryId);
}
